//1021. 删除最外层的括号
//思路：开辟一个栈和一个数组，当s[i] = '('时入栈，s[i] = ')'时出栈
//当栈>0 的时候，遍历到的s[i]就存入数组中(这样就可以将最外层的括号去掉)，最后返回开辟出来的数组

#include <string.h>
#include <stdlib.h>
char * removeOuterParentheses(char * s){
    int len = strlen(s);
    char* ret = (char*)malloc(sizeof(char)*len);
    char* stack = (char*)malloc(sizeof(char)*(len/2));
    int pos = 0, top = 0;
    for(int i = 0; i < len; ++i)
    {
        if(s[i] == '(')
            stack[top++] = s[i];
        if(s[i] == ')')
            top--;
        if(top > 0)
            ret[pos++] = s[i];
    }
    free(stack);
    return ret;
}